package vista;

import java.util.ArrayList;
import java.util.List;

import javax.swing.ListModel;
import javax.swing.event.ListDataListener;

import modelo.Modelo;

public class Lista implements ListModel {
	
	private Modelo modelo;
	private List<ListDataListener> lista;
	
	public Lista(Modelo modelo){
		this.setModelo(modelo);
		this.setLista(new ArrayList<ListDataListener>());
	}
	
	public void setModelo(Modelo modelo){
		this.modelo=modelo;
	}
	
	public Modelo getModelo(){
		return this.modelo;
	}
	
	private void setLista(List<ListDataListener> lista){
		this.lista=lista;
	}
	
	private List<ListDataListener> getLista(){
		return this.lista;
	}

	public void addListDataListener(ListDataListener arg0) {
		this.getLista().add(arg0);
	}

	public Object getElementAt(int arg0) {
		if (!this.getModelo().getNombresFunciones().isEmpty()&&this.getModelo().getNombresFunciones().size()>arg0)
		return this.getModelo().getNombresFunciones().get(arg0);
		else return null;
	}

	public int getSize() {
		return this.getModelo().getNombresFunciones().size();
	}

	public void removeListDataListener(ListDataListener arg0) {
		this.getLista().remove(arg0);
	}

}
